Skip to content

Conversation

@yannci
Copy link
Contributor

@yannci yannci commented Dec 11, 2025

CoordinateSystem used to derive from the deprecated and removed StateRenderable holding additional transform information for the renderer. A better approach that is also used in Gaffer, the transform information is better stored as separate transform information. Cortex 10.6 also removed all DCC integrations, i.e. IECoreMaya, which stored, for example Locator transformation on the CoordinateSystem. We provide a way to still retrieve this information from old SceneCaches, although not fully transparent and backwards compatible. Clients of CoordinateSystem will need to be adjusted if needed.

The M44fData is stored as LegacyTransform in the BlindData of the CoordinateSystem

Related Issues

  • List any Issues this PR addresses or solves

Checklist

  • I have read the contribution guidelines.
  • I have updated the documentation, if applicable.
  • I have tested my change(s) in the test suite, and added new test cases where necessary.
  • My code follows the Cortex project's prevailing coding style and conventions.

CoordinateSystem used to derive from the deprecated and removed
StateRenderable holding additional transform information for the
renderer. A better approach that is also used in Gaffer, the transform
information is better stored as separate transform information.
Cortex 10.6 also removed all DCC integrations, i.e. IECoreMaya, which
stored, for example Locator transformation on the CoordinateSystem. We
provide a way to still retrieve this information from old SceneCaches,
although not fully transparent and backwards compatible.  Clients of
CoordinateSystem will need to be adjusted if needed.

The `M44fData` is stored as `LegacyTransform` in the `BlindData` of
the CoordinateSystem
@yannci
Copy link
Contributor Author

yannci commented Dec 11, 2025

@johnhaddon Thanks again for giving me pointers for the different approaches. I think the less complex way of reading the matrix directly in CoordinateSystem::load and putting it in the BlindData is sufficient. Yes, client code needs to be adjusted but I am unsure how many people outside of IE actually need that kind of backwards compatibility, hence why I considered not to add this to the CoordindateSystem test suite. Let me know if my implementation is overly complicated for the matter or if there's anything I might have missed.

Cheers,
Yannic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant